home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / dev / c / ExtrasLib.lha / ExtrasLib / Include / Extras / ProgressMeter.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-30  |  4.0 KB  |  97 lines

  1. #ifndef EXTRAS_PROGRESSMETER_H
  2. #define EXTRAS_PROGRESSMETER_H
  3.  
  4. #ifndef EXEC_TYPES_H
  5. #include <exec/types.h>
  6. #endif
  7.  
  8. #ifndef INTUITION_INTUITION_H
  9. #include <intuition/intuition.h>
  10. #endif
  11.  
  12. #ifndef GRAPHICS_TEXT_H
  13. #include <graphics/text.h>
  14. #endif
  15.  
  16. typedef void    *ProgressMeter;
  17.  
  18. /** AllocProgressMeter() Tags **/
  19.  
  20. #define PM_Dummy (TAG_USER)
  21.  
  22. /* All tags not marked otherwise, may be used for
  23.    the initialization only 
  24.  
  25.    I-Initialize - AllocProgressMeter()
  26.    S-Set          UpdateProgressMeter()
  27. */
  28.  
  29. /* these two are mutually exclusive, you must specify one */
  30. #define PM_Screen       (PM_Dummy+1)   /* (struct Screen *)Screen to place 
  31.                                           progress meter on */
  32. #define PM_ParentWindow (PM_Dummy+2)   /* (struct Window *)Parent window 
  33.                                           of meter */
  34. /* not implemented */
  35. #define PM_MsgPort      (PM_Dummy+4)   /* Already existing msgport */
  36.  
  37.  
  38. #define PM_TextAttr     (PM_Dummy+5)   /* defaults to the screen font */
  39.  
  40. #define PM_LeftEdge     (PM_Dummy+10)  /* Defaults to be centered on PM_Window */
  41. #define PM_TopEdge      (PM_Dummy+11)  /* or PMScreen */
  42. #define PM_MinWidth     (PM_Dummy+12)  /* Minimum sizes*/
  43. #define PM_MinHeight    (PM_Dummy+13)  /* (not implemented) */
  44.  
  45. #define PM_WinTitle     (PM_Dummy+14)  /* Meter's Window title (STRPTR) */
  46.  
  47. #define PM_LowText      (PM_Dummy+15)  /* default "0%" */ 
  48. #define PM_HighText     (PM_Dummy+16)  /* default "100%" */
  49.  
  50. #define PM_MeterFormat    (PM_Dummy+17) /* printf style format string used inside the
  51.                                            meter.  default "%ld%%" */
  52. #define PM_MeterType      (PM_Dummy+18) /* How PM_MeterFormat is used, 
  53.                                            see PM_TYPES_? */
  54. #define PM_MeterLabel     (PM_Dummy+19) /* The label above the meter.  default NULL */
  55. #define PM_MinMeterWidth  (PM_Dummy+20) /* The minimum meter bar width, the default
  56.                                            minimum is 80 */      
  57.                                     
  58. /* rendering pens */
  59. #define PM_MeterPen       (PM_Dummy+21) /* default fillpen */
  60. #define PM_MeterBgPen     (PM_Dummy+22) /* default backgroundpen */
  61. #define PM_FormatPen      (PM_Dummy+23) /* default highlight text */
  62. #define PM_MeterLabelPen  (PM_Dummy+24) /* default highlight text */
  63. #define PM_LowTextPen     (PM_Dummy+25) /* default text pen */
  64. #define PM_HighTextPen    (PM_Dummy+26) /* default text pen */
  65.  
  66. #define PM_MeterValue     (PM_Dummy+27) /* (IS) (LONG) default 0 */
  67. #define PM_LowValue       (PM_Dummy+28) /* (IS) default 0   */
  68. #define PM_HighValue      (PM_Dummy+29) /* (IS) default 100 */
  69.  
  70. #define PM_Ticks          (PM_Dummy+40) /* ticks to draw under the meter box
  71.                                      defaults to 0 for none */
  72.  
  73. #define PM_CancelButton   (PM_Dummy+41) /* (BOOL)    Create a Cancel button? */
  74. #define PM_CancelText     (PM_Dummy+42) /* (STRPTR)  Text for cancel button (default "Cancel") */ 
  75. #define PM_QueryCancel    (PM_Dummy+43) /* (S) (ULONG *) The number of time the user
  76.                                                    has pressed the cancel button */  
  77. /* the following three are not implemented */
  78. #define PM_CancelID       (PM_Dummy+44) /* Creates an IDCMP_GADGETUP event when the
  79.                                   Cancel button is clicked. 
  80.                                   IntuiMessage->IAddress will be a pointer
  81.                                   to a gadget whose GadgetID is taken from
  82.                                   this tag */
  83. #define PM_CancelSigNum   (PM_Dummy+45) /* Sets a signal when the Cancel button is
  84.                                   clicked */
  85. #define PM_CancelSigTask  (PM_Dummy+46)   
  86.  
  87.  
  88.  
  89. /* PM_MeterType */
  90. #define PM_TYPE_PERCENTAGE   0  /* The meter's value is converted to a 
  91.                                    percentage before rendering */
  92. #define PM_TYPE_NUMBER       1  /* The meter's value is used */
  93. #define PM_TYPE_STRING       2  /* Doens't process the meter's value
  94.                                    simply prints PM_MeterFormat */
  95.  
  96. #endif  /* EXTRAS_PROGRESSMETER_H */ 
  97.